package com.sdy.kzyy.biz.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sdy.common.model.BizException;
import com.sdy.common.model.Response;
import com.sdy.kzyy.biz.dto.BookingSituationDTO;
import com.sdy.kzyy.biz.dto.SweepCodeStaffDTO;
import com.sdy.kzyy.biz.dto.UserDTO;
import com.sdy.kzyy.biz.vo.UserVo;
import com.sdy.kzyy.biz.model.User;
import com.sdy.mvc.service.BaseService;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zzq
 * @since 2020-03-03
 */
public interface UserService extends BaseService<User> {

    User getUserByWxid(String wxid);
    User xGetOrCreateUserByWxid(String wxid);
    User createUser(String wxid);
    void updateUser(UserDTO userDTO);
    void applyKz(UserDTO userDTO) throws BizException, InterruptedException;
    Response authority(Integer userId, UserVo userVo);

    Boolean cancelPower(BookingSituationDTO bookingSituationDTO) throws BizException;
    List<SweepCodeStaffDTO> getSweepPage(String storeCode, String name, Integer state, Page<User> page);
    List<SweepCodeStaffDTO> getSweepPage(String storeCode, String name, Integer state);
    Integer getSweepSize(String storeCode, String name, Integer state);

}
